package e_Stream流.map方法的使用;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 将集合中的每一个字符串，全部转换成大写
 *
 * @author xuyaxu
 * @date 2022/8/28 16:57
 */
public class Demo1 {
    public static void main(String[] args) {
        List<String> alpha = Arrays.asList("Monkey", "Lion", "Giraffe", "Lemur");

        // 不使用 Stream 管道流
        ArrayList<String> alphaUpper = new ArrayList<>();
        for (String s : alpha) {
            alphaUpper.add(s.toUpperCase());
        }
        // 结果：[MONKEY, LION, GIRAFFE, LEMUR]
        System.out.println(alphaUpper);

        // 使用 Stream 管道流
        List<String> collect = alpha.stream().map(String::toUpperCase).collect(Collectors.toList());
        // 上面使用了方法引用，和下面的Lambda表达式语法效果一样的
        //List<String> collect = alpha.stream().map(s -> s.toUpperCase()).collect(Collectors.toList());
        // 结果：[MONKEY, LION, GIRAFFE, LEMUR]
        System.out.println(collect);
    }
}
